<?php 
// En las siguientes lineas guardamos en la variable "final" la ultima parte de la url, lo que servirá para indicar luego en el menu en que seccion estamos.
// In the following lines we save in the variable "final"" the last part of the url, which will indicate later in which section in the menu we are.

$url=$_SERVER['SCRIPT_NAME'];
$last=explode('/', $url); 

for ($i=0;$i<=sizeof($last)-1;$i++) 
{
	if ($i==sizeof($last)-1)
	{
		$final=$last[$i];
	}
}

include ('start.php');
	require("mysqlsettings.php");
	$dbc = mysql_connect($server, $username, $password);
	mysql_set_charset('utf8', $dbc);
	mysql_select_db('db.Regatta', $dbc);

	$QueryRegatta2 = "SELECT * FROM Regatta";
	$ArrayRegatta2=Array();
	
	if ($r = mysql_query($QueryRegatta2, $dbc)) { 

	// Retrieve and save every record:

		while ($row = mysql_fetch_array($r)) {
			$ArrayRegatta2[$row['ID_Regatta']]=($row['Regatta_Name']);
		}
	}else { // Query didn't run.
		print '<p style="color: red;">Could not retrieve the data because:<br />'
		.mysql_error($dbc).'.</p><p>The query being run was: '.$query.'</p>';
	} // End of query IF.
?>
<h2>SEARCH FOR RESULTS</h2><br />

<div id="search">
	<form action="" method="post">
		Search by :<br />
		Regatta Name:
		<select name='regatta'>
			<option value="">Choose regatta</option>
			<?php
						foreach ($ArrayRegatta2 as $key => $value) {
							echo '<option value="'.$value.'">'.$value.'</option>';
						}
			?>
		</select>
		Race Number:
		<input type="text" name="ID_Race" />

		Boat Name:
		<input type="text" name="BoatName" />
		<input type="submit" value="Search" /><br />
</div>

<?php
	require("mysqlsettings.php");

	// Connect and select:
	$dbc = mysql_connect($server, $username, $password);
	mysql_set_charset('utf8', $dbc);
	mysql_select_db('db.Regatta', $dbc);

	$query = 'SELECT * FROM Results INNER JOIN Regatta on Results.ID_Regatta = Regatta.ID_Regatta
    							   INNER JOIN Race on Results.ID_Race = Race.ID_Race
    							   INNER JOIN Boat on Results.ID_Boat = Boat.ID_Boat'; //Le damos a la variable query la orden SQL

	if ($r = mysql_query($query, $dbc)) //añadimos el resultado de la orden sql a la variable 'r'
	{
		echo "<br /><div align='center' id='titles'><table style border='1px'><tr><td>REGATTA NAME</td><td>RACE NUMBER</td><td>BOAT NAME</td><td>POSITION</td></tr>";
		
		while ($row = mysql_fetch_array($r)) //Aqui hacemos un array (variable row) del valor de 'r' y recorreremos la array hasta que no haya mas valores en el array.
		{
			echo "<tr><td>{$row['Regatta_Name']}</td><td>{$row['ID_Race']}</td><td>{$row['Boat_Name']}</td><td>{$row['Position']}</td></tr>";
		
		}
		echo "</table></div>";

	}

	else // si no se pudiera hacer la consulta SQL nos mostrara un error.
	{
		echo '<p style="color: red;">No se puede conectar con la base de datos <br />' . mysql_error() .  '</p>'; //mensaje de error, al no poder conectarse a la base de datos.
	}
		mysql_close($dbc); //cerramos sesion con mysql.
		
		
		 
    if ($_SERVER['REQUEST_METHOD'] == 'POST')
	{
	?>
					<script type="text/javascript">
						document.getElementById('titles').innerHTML='';
					</script>
	<?php

	$dbc = mysql_connect($server, $username, $password);
	mysql_set_charset('utf8', $dbc);
	mysql_select_db('db.Regatta', $dbc);
	 //Conectamos a la base de datos, con usuario y contraseña, otra vez porque anteriormente se cerro la conexion.
	 //Y seleccionamos base de datos.
		
	/*el valor asignado en los textbox' se asignara a las variables, con mysql_real_escape_string(trim()).
	Lo que se hace es añadir '\' en caracteres sospechosos*/
	$regatta=mysql_real_escape_string(trim($_POST['regatta'])); 
    $race=mysql_real_escape_string(trim($_POST['ID_Race']));
    $boat=mysql_real_escape_string(trim($_POST['BoatName']));

    $query= 'SELECT * FROM Results INNER JOIN Regatta on Results.ID_Regatta = Regatta.ID_Regatta
    							   INNER JOIN Race on Results.ID_Race = Race.ID_Race
    							   INNER JOIN Boat on Results.ID_Boat = Boat.ID_Boat';
				if (empty($regatta) && empty($race) && empty($boat)) //Si le dieramos a buscar sin poner valor alguno no hariamos nada.
				{
					mysql_close($dbc); //cerramos sesion con mysql.
				}
				
				
                if ($regatta != "")//If para saber si regatta tiene valor alguno y que sea un numero entero.
				{ 
                        
					if 	(!is_numeric($regatta))
					{
						$query .= ' where Regatta.Regatta_Name ="'.$regatta.'"'; //A la variable $query se le añade codigo Sql.
					}
					else
					{
						echo '<p style="color: red;">Please, do the searching by an actual Regatta name.<br /></p>'; //mensaje de error
						mysql_close($dbc); //cerramos sesion con mysql.
						exit;
					}
				}
                
				if ($race != "")//If para saber si race tiene valor alguno y que sea un numero entero.
				{  
                    
					if(is_numeric($race))
					{
					   if ($regatta == "") 
                                $query .= ' where Race.ID_Race="'.$race.'"';//A la variable $query se le añade codigo Sql.
                        else if ($regatta != "")
                                $query .= ' and Race.ID_Race="'.$race.'"';//A la variable $query se le añade codigo Sql.
					}
					else
					{
						echo '<p style="color: red;">Please, do the searching by a whole number.<br /></p>'; //mensaje de error
						mysql_close($dbc); //cerramos sesion con mysql.
						exit;
					}
				}
				
                if ($boat != "")//If para saber si boat tiene valor alguno y que sea un numero entero.
				{  
                    if (!is_numeric($boat))
					{
						if ($regatta == ""){
                                if ($race != "")
                                        $query .= ' and Boat.Boat_Name ="'.$boat.'"';//A la variable $query se le añade codigo Sql.
                                else
                                        $query .= ' where Boat.Boat_Name ="'.$boat.'"';//A la variable $query se le añade codigo Sql.
                        }
                        else
                                $query .= ' and Boat.Boat_Name ="'.$boat.'"';//A la variable $query se le añade codigo Sql.
					}
					else
					{
						echo '<p style="color: red;">Please, do the searching by an actual boat name.<br /></p>'; //mensaje de error
						mysql_close($dbc); //cerramos sesion con mysql.
						exit;
					}
				}
	
				$dbc = mysql_connect($server, $username, $password);
				mysql_set_charset('utf8', $dbc);
				mysql_select_db('db.Regatta', $dbc);

			    if ($r = mysql_query($query, $dbc)) //añadimos el resultado de la orden sql a la variable 'r'
				{
					$n = mysql_num_rows($r);
					if ($n == 0){
						echo '<p style="color: red;">None match found, please enter a valid register<br /></p>'; //mensaje de error
						mysql_close($dbc); //cerramos sesion con mysql.
						exit;
					} else {
					echo "<div id='entries' align='center' ><table style border='1px' ><tr><td>Regatta Name</td><td>Race Number</td><td>Boat Name</td><td>Position</td></tr>";
					
					while ($row = mysql_fetch_array($r)) //Aqui hacemos un array (variable row) del valor de 'r' y recorreremos la array hasta que no haya mas valores en el array.
					{
						echo "<tr><td>{$row['Regatta_Name']}</td><td>{$row['ID_Race']}</td><td>{$row['Boat_Name']}</td><td>{$row['Position']}</td></tr>";
					
					}
					echo "</table></div>";

				}
				mysql_close($dbc);
			}

	}	
?>


<?php 
include ('includes/footer.php');
?>

